The present system relates to the field of network capacity planning and particularly relates to a simplified system for determining an affect of application deployment on a network.
A network is composed of a set of components, each with some associated behavior and properties. A simulation of such a network is a software program whose execution represents the network's components' properties and behavior.
These simulations are often utilized to determine either an existing or planned network capacity. For example, the simulations may be utilized as a tool to determine how to resolve capacity issues in existing networks or as a tool to determine whether a planned network will have sufficient capacity. The elements of the simulation may be extracted from an existing network topology and/or may be modeled from an intended topology. However, these network models often involve very complex network topology. As such, modeling network communications typically involves simulating a large number of elements, such as network components including nodes, routers, clients, etc., each with different properties and behavior. In addition, since each of the elements interact, the interaction affects system performance beyond what may be readily discerned merely by looking at individual performance characteristics.
Simulation of transmission characteristics of a network are further complicated in that network behavior does not scale linearly with network traffic. In other words, an increase in network traffic may be managed by a network that is working well within its operating capacity (e.g., less than 20% of capacity) without any appreciable increase in transmission delays. However, as the load increases, for example due to deployed application transactions, problems due to elements such as increased queuing delays, packet collision, buffer overflow, component delay, etc. impacts network performance in a way that is not directly scaleable based on behavior below these capacities. In addition, the transmission control protocol (TCP) may also impact the application since TCP controls how data is sent onto the network. Further, different applications may react differently to changes in the network, bringing even more complexity to the problem of determining how an application deployment will affect network and application performance. These problems are particularly exacerbated when network load increases over numerous portions of the network simultaneously such as when a network wide application deployment or upgrade is implemented. In addition, with an increase in remote access of network applications, network traffic of shared resources is further increased. In these cases, typical performance characteristics are of little use to predict actual network and application performance.
Tools exist that enable modeling of real or anticipated network transmission characteristics however, network simulations often are very complex and require a tremendous amount of computing resources not to mention man hours to properly model and implement.
It is an object of the present system to overcome disadvantages and/or make improvements in the prior art.
The present system includes a system, method and device for simulating application and network performance to facilitate application deployment studies and network capacity planning. In operation, data representing application deployment attributes, network topology, and network performance attributes based on a reduced set of element attributes is received. The data may be received from numerous sources and combinations of sources including a user directly entering the data, a program that models either of a network topology or application behavior, and a wizard that implies the data based on an interactive interview process. The present system simulates network performance based on the application deployment attributes (e.g., application traffic pattern, application message sizes, etc.), network topology, and network performance attributes. Application deployment attributes may be determined for example from an application trace, whether collected or created, and the simulation may be based on the application deployment attributes.
In one embodiment, the reduced set of element attributes may be determined from a lookup table of element operating characteristics. For example, the lookup table may contain element boundary (e.g., max and min) operating values. These boundary values may be utilized to interpolate other operating conditions. A graphical user interface (GUI) may be utilized for facilitating interaction including receiving the data and simulating the results within the GUI. The simulation results may be displayed as a graph of network response time or as a bar chart of network response time. The response times may be depicted as a function of delays attributable to simulation elements. The data may be altered and new simulation results may be provided based on the altered data. Both of a previous and new simulation results may be provided within a single GUI.
Application deployment attributes may be represented as transactions per hour (TPH). The application deployment attributes may include intervals having a constant configuration. Network performance may be simulated iteratively based on multiple instances of an application. The simulation may be performed until a predetermined number of iterations and/or until a substantially steady state of network performance is achieved.
The reduced set of element attributes may include a shortest path cost function attributed to each link of the network topology and the shortest path function may be modified link bandwidth, latency, and/or other network parameters. Each hop within the network topology may be modeled as a network cloud having simplified interaction attributes. The reduced set of element attributes may include modeling each router simply based on link buffer size; and modeling each link having an attribute related to at least one of latency, bandwidth, packet loss, and utilization.
The application deployment attributes may include a designation of a number of sites supporting network deployment. Each tier of application deployment may be presumed to be selected randomly such that each tier supplies application deployment equally or deployment sharing amongst tiers may be specifically designated. Application inter-arrivals may be treated as exponential distributions.
Delay on servers may be modeled by a utilization queuing model based on a number of simultaneous transactions on a server within a given time bucket. Congestion on a router may be modeled based on weighted fair queuing (WFQ) properties and the traffic flowing through the router. In one embodiment, a server may be modeled ignoring congestion effects on server delay. To expedite the simulation, an application response time may be received from a lookup table. Further, queuing delay may be calculated analytically.